package br.edu.ufc.deti.doodlematricula.negocio;

import java.sql.Connection;
import java.util.ArrayList;

import br.edu.ufc.deti.doodlematricula.beans.Disciplina;
import br.edu.ufc.deti.doodlematricula.beans.Usuario;
import br.edu.ufc.deti.doodlematricula.model.PrsUsuario;
import br.edu.ufc.deti.doodlematricula.util.Connect;

public class NgcUsuario {
    private static NgcUsuario instancia = null;

    private NgcUsuario() {}

    public static NgcUsuario getInstancia() {
        if (instancia == null) {
            instancia = new NgcUsuario();
        }
        return instancia;
    }

    public ArrayList<Disciplina> getDisciplinasUsuario(Usuario usuario) throws Exception {
    	ArrayList<Disciplina> disciplinas;
        Connect pool = null;
        Connection conn = null;
        try{ 
            pool = Connect.getInstancia();
            conn = pool.getConnection();
            disciplinas = PrsUsuario.getInstancia().getDisciplinasUsuario(conn, usuario);
        } catch(Exception e) {
            throw e;
        } finally {
            pool.reciclaRecurso(conn);            
        }
        return disciplinas;        
    }

	public Usuario getUsuario(String matricula)throws Exception {
    	Usuario usuario;
        Connect pool = null;
        Connection conn = null;
        try{ 
            pool = Connect.getInstancia();
            conn = pool.getConnection();
            usuario = PrsUsuario.getInstancia().getUsuario(conn, matricula);
        } catch(Exception e) {
            throw e;
        } finally {
            pool.reciclaRecurso(conn);            
        }
        return usuario;
	}
}
